@devx-commerce/plugin-product-reviews
Version:
Product Reviews Plugin for Medusa
66 lines • 7.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DELETE = exports.PUT = exports.POST = void 0;
const utils_1 = require("@medusajs/framework/utils");
const api_response_1 = require("../../../../../lib/api-response");
const create_product_review_response_1 = require("../../../../../workflows/product-reviews/workflows/create-product-review-response");
const delete_product_review_responses_1 = require("../../../../../workflows/product-reviews/workflows/delete-product-review-responses");
const update_product_review_responses_1 = require("../../../../../workflows/product-reviews/workflows/update-product-review-responses");
const POST = async (req, res) => {
try {
const product_review_id = req.params.id;
const { result } = await (0, create_product_review_response_1.createProductReviewResponseWorkflow)(req.scope).run({
input: {
admin_user_id: req.auth_context.actor_id,
product_review_id,
content: req.validatedBody.content,
},
});
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ result }, "Product review response created successfully", api_response_1.HttpStatus.OK));
}
catch (error) {
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to create product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
}
};
exports.POST = POST;
const PUT = async (req, res) => {
try {
const product_review_id = req.params.id;
const query = req.scope.resolve("query");
const { data: [product_review_response], } = await query.graph({
entity: "product_review_response",
fields: ["*"],
filters: { product_review_id },
});
if (!product_review_response) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Product review response not found");
}
const { result } = await (0, update_product_review_responses_1.updateProductReviewResponseWorkflow)(req.scope).run({
input: {
admin_user_id: req.auth_context.actor_id,
product_review_id: product_review_response.product_review_id,
content: req.body.content,
},
});
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ result }, "Product review response updated successfully", api_response_1.HttpStatus.OK));
}
catch (error) {
console.log("error: ", error);
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to update product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
}
};
exports.PUT = PUT;
const DELETE = async (req, res) => {
try {
const product_review_id = req.params.id;
await (0, delete_product_review_responses_1.deleteProductReviewResponseWorkflow)(req.scope).run({
input: { id: product_review_id },
});
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ id: product_review_id }, "Product review response deleted successfully", api_response_1.HttpStatus.OK));
}
catch (error) {
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message || "Failed to delete product review response", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR, { stack: error.stack }));
}
};
exports.DELETE = DELETE;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3cy9baWRdL3Jlc3BvbnNlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUF3RDtBQUV4RCxrRUFNeUM7QUFDekMsc0lBQXdJO0FBQ3hJLHdJQUF5STtBQUN6SSx3SUFBeUk7QUFHbEksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErRCxFQUMvRCxHQUFtQixFQUNuQixFQUFFO0lBQ0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUV4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLG9FQUFtQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQ3pFO1lBQ0UsS0FBSyxFQUFFO2dCQUNMLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3hDLGlCQUFpQjtnQkFDakIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTzthQUNuQztTQUNGLENBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBQSw4QkFBZSxFQUNwQixHQUFHLEVBQ0gsSUFBQSxvQ0FBcUIsRUFDbkIsRUFBRSxNQUFNLEVBQUUsRUFDViw4Q0FBOEMsRUFDOUMseUJBQVUsQ0FBQyxFQUFFLENBQ2QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssQ0FBQyxPQUFPLElBQUksMENBQTBDLEVBQzNELHlCQUFVLENBQUMscUJBQXFCLEVBQ2hDLHdCQUFTLENBQUMsY0FBYyxFQUN4QixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFF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